#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = '汤小洋'

'''
基本用法
try是必须的，except和finally至少有一个，else语句可有可无
'''
# try:
#     print('可能出现异常的代码')
#     print(5 / 0)
# except:
#     print('出现异常后要执行的操作')
# else:
#     print('正常执行时要执行的操作')
# finally:
#     print('无论是否出现异常都必须要执行的操作')
#
# print('异常处理后面的代码。。。。')


'''
异常的传播
当在函数中出现异常时：
    如果在函数中对异常进行了处理，则异常不会再继续传播
    如果在函数中没有对异常进行处理，则异常会继续向函数调用处传播
    如果函数调用处处理了异常，则不再传播，如果没有处理则继续向调用处传播
    直到传递到全局作用域（主模块），如果依然没有处理，则程序终止，并且显示异常信息
查看异常出现的位置：在最下面
'''


def f1():
    print('f1...')
    # try:
    #     print(5 / 0)
    # except:
    #     print('除数不能为0')
    print(5 / 0)


def f2():
    print('f2...')
    f1()


def f3():
    print('f3...')
    f2()


f3()
